STYLY for Vision Pro Challenge
#2024 #2025 #AR
STYLY for Vision Pro Challenge第3ターム参加に伴い,12/3よりVision Proをお借りしてSTYLYによる開発にチャレンジした.以下雑記.
https://gyazo.com/2fb3dd7828cc52642eb0235fe81689d8
初めて触った所感
装着感良し.ヘッドバンドが柔軟だけどしっかり固定され,HMDにありがちな窮屈さが少ない.
パススルーがかつてないレベルで高精細.Varjo以上に苦労なくPCやスマホの字が読める.
視線+ポインティングの操作がかなり楽.腕を上げなくて良いし,アイトラの精度も高く,今の所使用していて視線がズレたことがない.慣れたら従来のハントラUIよりも高速に入力ができそう.
Personaが手軽さのわりにかなり高精細.本体を目の高さに持ち上げて顔を傾けながらスキャンするだけで髭まで丁寧に再現したモデルが作成される.
これがスタンドアロンで動作してるのが率直に恐ろしい.
環境や実装方法など
STYLY for Vision Pro コンテンツ制作 マニュアル
VisualScripting
STYLY for Vision Pro :ハンドジェスチャーの実装方法
https://i.gyazo.com/95229d8451ec8237b2aaaf359a746c13.png
最終的な実装ノード.複雑に見えるが以下を各島で作って繋いでいる.
ゴーストの出現時間と出現数の管理
ゴーストのマテリアル管理(徐々にアルファが減少)
ハンドジェスチャーとレーザーのアクティブ管理
レーザーをアクティブにした際のRay生成
Raycastでゴーストに当たった際の破壊処理
ゴースト出現時や破壊時のサウンド再生
テーマは「ゲーム」.ゴーストバスターズみたいなことがしたかったので,シューティングを作る予定だった
指からビーム撃てたらいいな(幽遊白書の霊丸的な)
お化けが透明になったらそれなりに難しくできるな
作ったもの
https://spatial-layer.styly.cc/content/ced2be55-0b6e-4689-b8cc-3692ba061d85 https://i.gyazo.com/2333ac503ef43a382761ab643570d819.png
パワポで作ったサムネ.
@pastraction: #STYLY共創プログラム にて制作した「GhostShooter」を公開しました.右指からレーザーを発射しておばけを撃っていくゲームです.徐々にゴーストが透明化していくので定期的に照らす必要があります.
#AppleVisionPro をお持ちの方は是非遊んで見てください👻
作品URLはリプに掲載します↓
https://pbs.twimg.com/ext_tw_video_thumb/1879478941171503104/pu/img/PFh2gn801exR6xVp.jpg
シンプルにゴーストを倒していくシューティングゲームができた.ゴーストなので徐々に姿が見えなくなっていく(透明になる)
右手👉ジェスチャーでレーザーを発射
左手👍ジェスチャーで透明になるゴーストを可視化
感想あれこれ
VisualScriptingがデバッグしやすかった.実行中でもノードを書き変えたものがリアルタイム反映されるため,修正を検証しやすい.
ノードとノードは型が一致している者同士でしか接続できないので,型が一致しないエラーが起きにくい.変数もインスペクタ上でリストに追加することで宣言でき,自由度が高い.入力された変数が流れとして可視化されているのもまた分かりやすかった.
SDKにてジェスチャーコントロールが実装されているのが非常に画期的だった.パターンは限られているものの右手左手で別々の機能を組み込むことも可能なので,多様なインタラクションを容易に実現することが可能そうである.
ハンドジェスチャーにレーザーのアクティブとRayの生成を結び付けたため,当たり判定に難が生まれてしまった.理想はレーザーでなぎ払うと連続的にゴーストが撃墜できることだったが,一度平常状態に指を戻さないと判定が機能しないことが多かった.
Rayではなく,無限遠に伸ばしたレーザーにコライダーをつけてOnCollisionで破壊すれば良かったのか?改善の余地がある
https://i.gyazo.com/c84cc0e16792725a8b0a3b5347f6cec0.png
実装期間中にフィンガートラッカーのサンプルが実装され,上記画像のようにかなり細かな位置を検出することが可能になった.これはすごい.今回の場合はレーザーの視点をあえてProximalにしており,これで精度を少し改善している.
本来はもっと派手なレーザーを撃ちたかったが,エフェクトが上手く管理できずにレーザーオブジェクトで代用してしまった.もったいないポイントである.チキってhelpフォーラムに問い合わせなかったのも更にもったいない.
サンプルを触ったのみだが,SDKには現実空間に即したリアルタイムメッシュとコライダー機能もあった.MRならではの空間融合性に富んだコンテンツも容易に作れると思う.次機会があればこれを用いたい.
使った素材など
Ghost character Free
Free Sound Effects Pack
【Unity / Free】Laser Particle 3色セット(無料)
おばけの笑い声
ゴーストアイコン2
効果音>サイバー